<?php

/**
 * @package     JohnCMS
 * @link        http://johncms.com
 * @copyright   Copyright (C) 2008-2011 JohnCMS Community
 * @license     LICENSE.txt (see attached file)
 * @version     VERSION.txt (see attached file)
 * @author      http://johncms.com/about
 */

define('_IN_JOHNCMS', 1);
//them khoi tao user sms
require('../aznusoap/lib/nusoap.php');
//-------ket thuc-------
$rootpath = '';
require('../incfiles/core.php');
$textl = $lng['registration'];
$headmod = 'registration';
require('../incfiles/head.php');
$lng_reg = core::load_lng('registration');

// Если регистрация закрыта, выводим предупреждение
if (core::$deny_registration || !$set['mod_reg']) {
    echo '<p>' . $lng_reg['registration_closed'] . '</p>';
    require('../incfiles/end.php');
    exit;
}

/*
if (!$user_id) {
	$lng_profile = core::load_lng('profile');
    require('../incfiles/head.php');
    echo functions::display_error($lng['access_guest_forbidden']);
    require('../incfiles/end.php');
    exit;
}
*/

$captcha = isset($_POST['captcha']) ? trim($_POST['captcha']) : NULL;
$reg_nick = isset($_POST['nick']) ? trim($_POST['nick']) : '';
$lat_nick = functions::rus_lat(mb_strtolower($reg_nick));
$reg_pass = isset($_POST['password']) ? trim($_POST['password']) : '';
$reg_name = isset($_POST['imname']) ? trim($_POST['imname']) : '';
$reg_mail = isset($_POST['mail']) ? trim($_POST['mail']) : '';
$reg_about = '';
$reg_mibile = isset($_POST['mibile']) ? trim($_POST['mibile']) : '';
$reg_cmnd = isset($_POST['cmnd']) ? trim($_POST['cmnd']) : '';     
$reg_cmnddate = isset($_POST['cmnddate']) ? trim($_POST['cmnddate']) : '';
$reg_cmndplace = isset($_POST['cmndplace']) ? trim($_POST['cmndplace']) : '';
$reg_banknumber = isset($_POST['banknumber']) ? trim($_POST['banknumber']) : '';
$reg_bankname = isset($_POST['bankname']) ? trim($_POST['bankname']) : '';
$reg_bank = isset($_POST['bank']) ? trim($_POST['bank']) : '';
$reg_bankplace = isset($_POST['bankplace']) ? trim($_POST['bankplace']) : '';
$reg_partnertype = isset($_POST['partnertype']) ? trim($_POST['partnertype']) : '';
$reg_sex = 'm';

echo '<div class="phdr"><b>' . $lng['registration'] . '</b></div>';
if (isset($_POST['submit'])) {
    // Принимаем переменные
    $error = array();
    // Проверка Логина
    if (empty($reg_nick))
        $error['login'][] = $lng_reg['error_nick_empty'];
    elseif (mb_strlen($reg_nick) < 2 || mb_strlen($reg_nick) > 15)
        $error['login'][] = $lng_reg['error_nick_lenght'];
    if (preg_match('/[^\da-z\-\@\*\(\)\?\!\~\_\=\[\]]+/', $lat_nick))
        $error['login'][] = $lng['error_wrong_symbols'];
    //Số di động
	if (empty($reg_mibile))
		$error['mibile'][] = 'Trường bắt buộc phải nhập';
	elseif (preg_match('/[^\d]+/', $reg_mibile))
		$error['mibile'][] = 'Phải là số điện thoại di động';
	elseif (mb_strlen($reg_mibile) < 10 || mb_strlen($reg_mibile) > 11)
		$error['mibile'][] = 'Số điện thoại phải là 10 hoặc 11 chữ số';
		
	// Проверка пароля
    if (empty($reg_pass)) $error['password'][] = $lng['error_empty_password'];
    elseif (mb_strlen($reg_pass) < 3 || mb_strlen($reg_pass) > 10) $error['password'][] = $lng['error_wrong_lenght'];
    if (preg_match('/[^\dA-Za-z]+/', $reg_pass)) $error['password'][] = $lng['error_wrong_symbols'];
	
    // Проверка пола
    //if ($reg_sex != 'm' && $reg_sex != 'zh') $error['sex'] = $lng_reg['error_sex'];
    // Проверка кода CAPTCHA
    if (!$captcha || !isset($_SESSION['code']) || mb_strlen($captcha) < 4 || $captcha != $_SESSION['code']) $error['captcha'] = $lng['error_wrong_captcha'];
    unset($_SESSION['code']);
    // Проверка переменных 
    if (empty($error)) {
        $pass = md5(md5($reg_pass));
        $reg_name = functions::check(mb_substr($reg_name, 0, 20));
        $reg_about = functions::check(mb_substr($reg_about, 0, 500));
        // Проверка, занят ли ник
        $req = mysql_query("SELECT * FROM `users` WHERE `name_lat`='" . mysql_real_escape_string($lat_nick) . "'");
        if (mysql_num_rows($req) != 0) {
            $error['login'][] = $lng_reg['error_nick_occupied'];
        }
		$req = mysql_query("SELECT * FROM `users` WHERE `mibile`='" . mysql_real_escape_string($reg_mibile) . "'");
        if (mysql_num_rows($req) != 0) {
            $error['mibile'][] = 'Số điện thoại đã được sử dụng';
        }
    }
    if (empty($error)) {
        $preg = $set['mod_reg'] > 1 ? 1 : 0;
		$setuser = 'a:12:{s:6:"avatar";b:1;s:6:"digest";b:0;s:10:"direct_url";b:0;s:7:"field_h";i:3;s:7:"field_w";i:40;s:5:"kmess";i:20;s:8:"quick_go";b:1;s:9:"timeshift";i:0;s:4:"skin";s:7:"selemet";s:7:"smileys";b:1;s:8:"translit";b:0;s:3:"lng";s:2:"vn";}';
        mysql_query("INSERT INTO `users` SET
            `name` = '" . mysql_real_escape_string($reg_nick) . "',
            `name_lat` = '" . mysql_real_escape_string($lat_nick) . "',
            `password` = '" . mysql_real_escape_string($pass) . "',
            `imname` = '$reg_name',
            `about` = '$reg_about',
            `sex` = '$reg_sex',
            `rights` = '0',
            `ip` = '" . core::$ip . "',
            `ip_via_proxy` = '" . core::$ip_via_proxy . "',
            `browser` = '" . mysql_real_escape_string($agn) . "',
            `datereg` = '" . time() . "',
            `lastdate` = '" . time() . "',
            `sestime` = '" . time() . "',
			`mail` = '" . $reg_mail . "',
            `preg` = '$preg',
            `set_user` = '$setuser',
            `set_forum` = '',
            `set_mail` = '',
            `smileys` = '',
			`mibile` = '" . mysql_real_escape_string($reg_mibile) . "',
			`type` = '" . $reg_partnertype . "',
			`cmnd` = '" . $reg_cmnd . "',
			`cmnddate` = '" . $reg_cmnddate . "',
			`cmndplace` = '" . $reg_cmndplace . "',
			`banknumber` = '" . $reg_banknumber . "',
			`bankname` = '" . $reg_bankname . "',
			`bank` = '" . $reg_bank . "',
			`bankplace` = '" . $reg_bankplace . "',
			`bankid` = '0'
        ") or exit(__LINE__ . ': ' . mysql_error());
        $usid = mysql_insert_id();
		//them khoi tao user sms
		$client = new nusoap_client('http://baocao.tiennhanh.com/users/AZCreateUser.php?WSDL', false);
		$err = $client->getError();				
		if ($err) {							
			//loi khong ket noi de tao tai khoan							
			//Cap nhat users status_reg 0 (chua duoc khoi tao) | 1 (duoc khoi tao)							
			mysql_query("UPDATE `users` SET `status_reg` = '0' WHERE `id` = '" . $usid . "'");	
			//echo "UPDATE `users` SET `status_reg` = '0' WHERE `id` = '" . $usid . "'";
			//---------------					
		} else {									
			//$flag chua id nguoi khoi tao user (nguoi gioi thieu user)							
			$flag = 0;							
			$rand = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 5);
			$smsreg = md5(md5($rand . $usid . $reg_nick));
			$client->soap_defencoding = 'UTF-8';									
			$param = array(
					"id" => $usid,
					"name" => $reg_nick,
					"check" => $smsreg,
					"mail" => $reg_mail,
					"phone" => $reg_mibile,
					"parentid" => $flag,
					);
			$result = $client->call('CreateUser', $param);
			//Cap nhat users status_reg 0 (chua duoc khoi tao) | 1 (duoc khoi tao)
			mysql_query("UPDATE `users` SET	`status_reg` = '". $result ."', `smsreg` = '" . $smsreg . "' WHERE `id` = '" . $usid . "'");
			//-----------
		}				
		//-------ket thuc-------
        // Отправка системного сообщения
        $set_mail = unserialize($set['setting_mail']);
        if (!isset($set_mail['message_include'])) {
            $set_mail['message_include'] = 0;
        }

        if ($set_mail['message_include']) {
            $array = array('{LOGIN}', '{TIME}');
            $array_replace = array($reg_nick, '{TIME=' . time() . '}');

            if (empty($set['them_message']))
                $set['them_message'] = $lng_mail['them_message'];
            if (empty($set['reg_message']))
                $set['reg_message'] = $lng['hi'] . ", {LOGIN}\r\n" . $lng_mail['pleased_see_you'] . "\r\n" . $lng_mail['come_my_site'] . "\r\n" . $lng_mail['respectfully_yours'];
            $theme = str_replace($array, $array_replace, $set['them_message']);
            $system = str_replace($array, $array_replace, $set['reg_message']);
            mysql_query("INSERT INTO `cms_mail` SET
			    `user_id` = '0',
			    `from_id` = '" . $usid . "',
			    `text` = '" . mysql_real_escape_string($system) . "',
			    `time` = '" . time() . "',
			    `sys` = '1',
			    `them` = '" . mysql_real_escape_string($theme) . "'
			");
        }

        echo'<div class="menu"><p><h3>' . $lng_reg['you_registered'] . '</h3>' . $lng_reg['your_login'] . ': <b>' . $reg_nick . '</b><br/>' . $lng_reg['your_password'] . ': <b>' . $reg_pass . '</b></p>' .
			'<p><b>Soạn tin nhắn <span class="red">AZ ' . $reg_nick . '</span> gửi <span class="red">8000</span> <i>(Phí 500đ)</i> để kích hoạt tài khoản.</b></p><br />' .
            '<p><h3>' . $lng_reg['your_link'] . '</h3><input type="text" value="' . $set['homeurl'] . '/login.php?id=' . $usid . '&amp;p=' . $reg_pass . '" /><br/>';
        if ($set['mod_reg'] == 1) {
            echo '<p><span class="red"><b>' . $lng_reg['moderation_note'] . '</b></span></p>';
        } else {
            echo '<br /><a href="login.php?id=' . $usid . '&amp;p=' . $reg_pass . '">' . $lng_reg['enter'] . '</a><br/><br/>';
        }
        echo '</p></div>';
        require('../incfiles/end.php');
        exit;
    }
}

/*
-----------------------------------------------------------------
Форма регистрации
-----------------------------------------------------------------
*/
if ($set['mod_reg'] == 1) echo '<div class="rmenu"><p>' . $lng_reg['moderation_warning'] . '</p></div>';
echo'<form action="reguser.php" method="post"><div class="gmenu">' .
    '<p><h3>' . $lng_reg['login'] . '</h3>' .
    (isset($error['login']) ? '<span class="red"><small>' . implode('<br />', $error['login']) . '</small></span><br />' : '') .
    '<input type="text" name="nick" maxlength="15" value="' . htmlspecialchars($reg_nick) . '"' . (isset($error['login']) ? ' style="background-color: #FFCCCC"' : '') . '/><br />' .
    '<small>' . $lng_reg['login_help'] . '</small></p>' .
    '<p><h3>' . $lng_reg['password'] . '</h3>' .
    (isset($error['password']) ? '<span class="red"><small>' . implode('<br />', $error['password']) . '</small></span><br />' : '') .
    '<input type="password" name="password" maxlength="20" value="' . htmlspecialchars($reg_pass) . '"' . (isset($error['password']) ? ' style="background-color: #FFCCCC"' : '') . '/><br/>' .
    '<small>' . $lng_reg['password_help'] . '</small></p>' .
	'<p><h3>E-mail</h3>' .    
    '<input type="text" name="mail" value="' . htmlspecialchars($reg_mail) . '" size="40" /><br />' .
	'<i>Sử dụng e-mail của bạn để nhận thông tin cập nhật hay thanh toán</i></p></div>' .	
    '<div class="menu">' .
    '<p><h3>' . $lng_reg['name'] . '</h3>' .
    '<input type="text" name="imname" maxlength="30" value="' . htmlspecialchars($reg_name) . '" /><br />' .
    '<small>' . $lng_reg['name_help'] . '</small></p>' .
	'<p><h3>Phone</h3>' .
	(isset($error['mibile']) ? '<span class="red"><small>' . implode('<br />', $error['mibile']) . '</small></span><br />' : '') .
    '<input type="text" name="mibile" value="' . htmlspecialchars($reg_mibile) . '" /><br />' .
	'<i>Số điện thoại là duy nhất. Sử dụng để kích hoạt tài khoản và cập nhật thông tin thanh toán</i><br /></p>' .
	'<p><h3><img src="../images/contacts.png" width="16" height="16" class="left" /> Thông tin cá nhân</h3>' .
    'Số CMND :<br /><input type="text" value="' . $reg_cmnd . '" name="cmnd" size="40" /></p>' .
    '<p>Ngày cấp:<br />' . 
    '<input type="text" value="' . $reg_cmnddate . '" maxlength="10" name="cmnddate" size="40" /><br />'.
	'<i>Định dạng ngày/tháng/năm (vd: 25/09/2013)</i></p>' .
    '<p>Nơi cấp:<br /><input type="text" value="' . $reg_cmndplace . '" name="cmndplace" size="40" /></p>' .
	'<p><h3>Hình thức thanh toán</h3></p>' .
	'<p><input type="radio" name="partnertype" value="1" id="partnertype" /> Tài khoản Ngân Hàng  |  <input type="radio" name="partnertype" value="0" id="partnertype" checked="checked" /> Thẻ cào điện thoại</p>' .
    '<p>Số tài khoản:<br /><input type="text" value="' . $reg_banknumber . '" name="banknumber" size="40" /></p>' .
	'<p>Tên tài khoản:<br /><input type="text" value="' . $reg_bankname . '" name="bankname" size="40" /></p>' .
    '<p>Ngân hàng:<br /><input type="text" value="' . $reg_bank . '" name="bank" size="40" /></p>' .
	'<p>Chi nhánh:<br /><input type="text" value="' . $reg_bankplace . '" name="bankplace" size="40" /></p>' .    
    '</div><div class="gmenu"><p>' .
    '<h3>' . $lng_reg['captcha'] . '</h3>' .
    '<img src="captcha.php?r=' . rand(1000, 9999) . '" alt="' . $lng_reg['captcha'] . '" border="1"/><br />' .
    (isset($error['captcha']) ? '<span class="red"><small>' . $error['captcha'] . '</small></span><br />' : '') .
    '<input type="text" size="5" maxlength="5"  name="captcha" ' . (isset($error['captcha']) ? ' style="background-color: #FFCCCC"' : '') . '/><br />' .
    '<small>' . $lng_reg['captcha_help'] . '</small></p>' .
    '<p><input type="submit" name="submit" value="' . $lng_reg['registration'] . '"/></p></div></form>' .
    '<div class="phdr"><small>' . $lng_reg['registration_terms'] . '</small></div>';

require('../incfiles/end.php');